package com.hjtech.base.app;

import android.app.Application;

import com.alibaba.android.arouter.facade.annotation.Autowired;
import com.alibaba.android.arouter.launcher.ARouter;
import com.hjtech.base.retroft.provide.RetrofitProvide;
import com.hjtech.base.router.mannager.IModelManager;
import com.hjtech.base.router.provider.IUserProvider;

import retrofit2.Retrofit;

/*
 * 项目名:    HjtechARouterFrame
 * 包名       com.hjtech.base.app
 * 文件名:    MyApp
 * 创建者:    ZJB
 * 创建时间:  2017/10/26 on 15:03
 * 描述:     TODO
 */

public class MyApp extends Application implements App {
    @Autowired
    RetrofitProvide retrofitProvide;

    @Autowired
    IModelManager iModelManager;

    private static MyApp application;


    @Override
    public void onCreate() {
        super.onCreate();
        application = this;
        initARouter();
    }


    public static MyApp getApplication() {
        return application;
    }

    public Retrofit getRetrofit() {
        return retrofitProvide.getRetrofit();
    }

    public IModelManager getModelManager() {
        return iModelManager;
    }

    @Override
    public void initARouter() {
        ARouter.openLog();     // 打印日志
        ARouter.openDebug();   // 开启调试模式(如果在InstantRun模式下运行，必须开启调试模式！线上版本需要关闭,否则有安全风险)
        ARouter.init(this); // 尽可能早，推荐在Application中初始化
        ARouter.getInstance().inject(this);
        //将需要使用的模块添加进管理
        iModelManager.addModel(IUserProvider.USER_MAIN_PATH, IUserProvider.USER_MAIN_PATH);

    }
}